package com.xpffly.design.factory.abs.factory;

import com.xpffly.design.factory.abs.service.AbstractProductA;
import com.xpffly.design.factory.abs.service.AbstractProductB;
import com.xpffly.design.factory.abs.service.AbstractProductN;

/**
 * @Author: xpengfei
 * @Date: 2021/3/27 23:35
 * @Description：抽象工厂类，定义每个工厂要实现的功能； 有N个产品家族，在该抽象工厂类中就要有N个创建方法
 */
public abstract class AbstractCreator {

    /**
     * 创建A产品家族
     *
     * @return
     */
    public abstract AbstractProductA createProductA();

    /**
     * 创建B产品家族
     *
     * @return
     */
    public abstract AbstractProductB createProductB();

    /**
     * 创建N产品家族
     *
     * @return
     */
    public abstract AbstractProductN createProductN();
}
